Recognizes a specific page within LEADDocument.
public AutoFormsRecognizePageResult RecognizePage(
LEADDocument leadDoc,
int pageNumber,
List<IMasterFormsCategory> categories
)
leadDoc
The LEADDocument object.
pageNumber
The index of the document page to recognize.
categories
List of Master Forms categories to use in comparison, pass null or empty to use all Master Forms in the repository.
The result of the recognition will be the Master Form with the maximum confidence value. If the confidence value is less than MinimumConfidenceKnownForm it returns null to indicate that the form type is unknown and cannot be recognized.
RecognizePage(LEADDocument,int,List<IMasterFormsCategory>) is useful when you have an unknown page to recognize as it finds the Master Form to which the page belongs. Then after, you may process the form and extract the data.
This method compares the unknown page with all Master Forms pages in the repository and returns the Master Form and the number of the page in that Master Form with maximum confidence value.
The recognition of the page will stop comparing the form with other Master Forms, either when the confidence value of the recognition result is greater or equal to MinimumConfidenceRecognized, or when the Master Forms have all been compared.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Common;
using Leadtools.Forms.Auto;
using Leadtools.Document;
using Leadtools.Ocr;
using Leadtools.Forms.Recognition;
using Leadtools.Forms.Processing;
using Leadtools.Barcode;
using Leadtools.Forms;
public void AutoPageRecognitionAndProcessingLEADDoc1()
{
string root = Path.Combine(LEAD_VARS.ImagesDir, @"Forms\FormsDemo\OCR_Test");
RasterCodecs codecs = new RasterCodecs();
// Create repository
DiskMasterFormsRepository repository = new DiskMasterFormsRepository(codecs, root);
using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD))
{
ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir);
BarcodeEngine barcodeEngine = new BarcodeEngine();
AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngine, barcodeEngine);
autoEngine.MinimumConfidenceKnownForm = 80;
// Load the LEADDocument from file with default options
LoadDocumentOptions loadOptions = new LoadDocumentOptions();
LEADDocument leadDoc = DocumentFactory.LoadFromFile(Path.Combine(LEAD_VARS.ImagesDir, @"Forms\Filled Forms\FCC-107_OCR_Filled.tif"), loadOptions);
// Recognize the LEADDocument with default options
AutoFormsEnginePageRecognitionOptions pageOptions = new AutoFormsEnginePageRecognitionOptions();
AutoFormsRecognizePageResult result = autoEngine.RecognizePage(leadDoc, 0, pageOptions);
if (result == null)
return;
// Process recognized page
FormPage formFields = autoEngine.ProcessPage(leadDoc, 0, result);
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime";
}